﻿using System.Data;
using System.Runtime.Serialization;
using System.ServiceModel;
using System;

namespace HRMService
{
    
    [ServiceContract(Namespace = "http://HRMService")]
    public interface IBranch
    {
        [OperationContract]
        int Branch_Using(int BranchID);
        [OperationContract]
        DataSet Branch_GetAll();

        [OperationContract]
        BranchInfo Branch_GetInfo(int BranchID);

        [OperationContract]
        DataSet Branch_GetList(out int ItemCount, int currentPage, int pageSize, string _BranchCode);

        [OperationContract]
        int Branch_Insert(BranchInfo eInfo);

        [OperationContract]
        bool Branch_Update(BranchInfo eInfo);

        [OperationContract]
        bool Branch_Delete(int BranchID);

        [OperationContract]
        DataSet Branch_GetOne(int BranchID);

        [OperationContract]
        bool Branch_Compare(int BranchID, string BranchCode);

        [OperationContract]
        DataSet Branch_GetByRegionCode(string _RegionCode);
    }

    [DataContract(Namespace = "http://HRMService")]
    public class BranchInfo
    {
        int _ID;
        [DataMember]
        public int ID
        {
            get { return _ID; }
            set { _ID = value; }
        }
        int _InsType;
        [DataMember]
        public int InsType
        {
            get { return _InsType; }
            set { _InsType = value; }
        }
        string _Code;
        [DataMember]
        public string Code
        {
            get { return _Code; }
            set { _Code = value; }
        }
        string _Name;
        [DataMember]
        public string Name
        {
            get { return _Name; }
            set { _Name = value; }
        }
        string _Address;
        [DataMember]
        public string Address
        {
            get { return _Address; }
            set { _Address = value; }
        }
        string _Phone;
        [DataMember]
        public string Phone
        {
            get { return _Phone; }
            set { _Phone = value; }
        }
        string _Fax;
        [DataMember]
        public string Fax
        {
            get { return _Fax; }
            set { _Fax = value; }
        }

        string _Email;
        [DataMember]
        public string Email
        {
            get { return _Email; }
            set { _Email = value; }
        }

        string _Branch_TaxCode;
        [DataMember]
        public string Branch_TaxCode
        {
            get { return _Branch_TaxCode; }
            set { _Branch_TaxCode = value; }
        }


        string _Branch_BankAccount;
        [DataMember]
        public string Branch_BankAccount
        {
            get { return _Branch_BankAccount; }
            set { _Branch_BankAccount = value; }
        }

        string _Branch_BankName;
        [DataMember]
        public string Branch_BankName
        {
            get { return _Branch_BankName; }
            set { _Branch_BankName = value; }
        }

        string _Branch_ScheduledMan;
        [DataMember]
        public string Branch_ScheduledMan
        {
            get { return _Branch_ScheduledMan; }
            set { _Branch_ScheduledMan = value; }
        }

        string _Branch_BHXHOfficers;
        [DataMember]
        public string Branch_BHXHOfficers
        {
            get { return _Branch_BHXHOfficers; }
            set { _Branch_BHXHOfficers = value; }
        }
        string _Branch_BHXHBossofDistrict;
        [DataMember]
        public string Branch_BHXHBossofDistrict
        {
            get { return _Branch_BHXHBossofDistrict; }
            set { _Branch_BHXHBossofDistrict = value; }
        }
        string _Branch_BHXHBossofProvince;
        [DataMember]
        public string Branch_BHXHBossofProvince
        {
            get { return _Branch_BHXHBossofProvince; }
            set { _Branch_BHXHBossofProvince = value; }
        }

        string _Description;
        [DataMember]
        public string Description
        {
            get { return _Description; }
            set { _Description = value; }
        }
        string _RepName;
        [DataMember]
        public string RepName
        {
            get { return _RepName; }
            set { _RepName = value; }
        }
        string _RepPos;
        [DataMember]
        public string RepPos
        {
            get { return _RepPos; }
            set { _RepPos = value; }
        }
        string _BHXH;
        [DataMember]
        public string BHXH
        {
            get { return _BHXH; }
            set { _BHXH = value; }
        }
        decimal _MedicalInsurancePercent;
        [DataMember]
        public decimal MedicalInsurancePercent
        {
            get { return _MedicalInsurancePercent; }
            set { _MedicalInsurancePercent = value; }
        }
        decimal _SocialInsurancePercent;
        [DataMember]

        public decimal SocialInsurancePercent
        {
            get { return _SocialInsurancePercent; }
            set { _SocialInsurancePercent = value; }
        }
        decimal _MedicalInsurancePercentLabour;
        [DataMember]

        public decimal MedicalInsurancePercentLabour
        {
            get { return _MedicalInsurancePercentLabour; }
            set { _MedicalInsurancePercentLabour = value; }
        }
        decimal _SocialInsurancePercentLabour;
        [DataMember]

        public decimal SocialInsurancePercentLabour
        {
            get { return _SocialInsurancePercentLabour; }
            set { _SocialInsurancePercentLabour = value; }
        }
        decimal _MinBasicSalary;
        [DataMember]

        public decimal MinBasicSalary
        {
            get { return _MinBasicSalary; }
            set { _MinBasicSalary = value; }
        }
        string _ManagementLevel;
        [DataMember]

        public string ManagementLevel
        {
            get { return _ManagementLevel; }
            set { _ManagementLevel = value; }
        }
        decimal _FamilySalary;
        [DataMember]

        public decimal FamilySalary
        {
            get { return _FamilySalary; }
            set { _FamilySalary = value; }
        }
        string _CloseBook;
        [DataMember]

        public string CloseBook
        {
            get { return _CloseBook; }
            set { _CloseBook = value; }
        }
        string _Joining;
        [DataMember]

        public string Joining
        {
            get { return _Joining; }
            set { _Joining = value; }
        }
        decimal _TradeUnion;
        [DataMember]

        public decimal TradeUnion
        {
            get { return _TradeUnion; }
            set { _TradeUnion = value; }
        }
        decimal _UnemployedInsCompany;
        [DataMember]

        public decimal UnemployedInsCompany
        {
            get { return _UnemployedInsCompany; }
            set { _UnemployedInsCompany = value; }
        }
        decimal _UnemployedIns;
        [DataMember]

        public decimal UnemployedIns
        {
            get { return _UnemployedIns; }
            set { _UnemployedIns = value; }
        }
        string _TotalDateWork;
        [DataMember]

        public string TotalDateWork
        {
            get { return _TotalDateWork; }
            set { _TotalDateWork = value; }
        }
        string _RegionCode;
        [DataMember]
        public string RegionCode
        {
            get { return _RegionCode; }
            set { _RegionCode = value; }
        }
        string _InsurancePlace;
        [DataMember]
        public string InsurancePlace
        {
            get { return _InsurancePlace; }
            set { _InsurancePlace = value; }
        }
        DateTime _Createdate;
        [DataMember]
        public DateTime Createdate
        {
            get { return _Createdate; }
            set { _Createdate = value; }
        }
        DateTime _LastUpdate;
        [DataMember]
        public DateTime LastUpdate
        {
            get { return _LastUpdate; }
            set { _LastUpdate = value; }
        }
    }
}
